package algo3.juegoCarmenSanDiego.modelo;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;

public class ManejadorDeArchivos {

	public ManejadorDeArchivos() {
	}

	public static List<Ciudad> devolverListaDeCiudades(String nombreArchivo) throws ParserConfigurationException, SAXException, IOException{
		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
		DocumentBuilder db = dbf.newDocumentBuilder();
		Document doc = db.newDocument();
		DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
		File archivo = new File(nombreArchivo);
		doc = dBuilder.parse(archivo);
		List<Ciudad> ciudades = new ArrayList<Ciudad>();
		Ciudad ciudad;
			Element elementoCiudad = (Element)doc.getElementsByTagName("ciudades").item(0);
			for(int i=0; i< elementoCiudad.getChildNodes().getLength(); i++) {
				ciudad = Ciudad.cargarAMemoria((Element)elementoCiudad.getChildNodes().item(i));
				ciudades.add(ciudad);
			}
		return ciudades;
	}
}
